import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const path = require('path')
// https://vitejs.dev/config/
export default defineConfig({
  root: './examples', // 因为要在当前项目跑例子，所以将运行根目录设置为示例目录
  plugins: [vue()],
  // 使用vite打包(lib模式)
  build: {
    outDir: path.resolve(__dirname, 'libDist'),
    emptyOutDir: true,
    lib: {
      entry: path.resolve(__dirname, 'packages/main.js'),// 整个打包，单入口
      name: 'ScadaLibrary',
      formats: ['cjs', 'es', 'iife', 'umd'],
      fileName: 'ScadaLibrary'
    },
    rollupOptions: {
      // 请确保外部化那些你的库中不需要的依赖
      external: ['vue'], // 如果不把vue打包进来就会报错
      output: {
        // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
        globals: {
          vue: 'Vue'
        },
        exports: 'named',
      }
    }
  },

  server: {
    host: 'localhost', // 指定服务器主机名
    port: 3000, // 指定服务器端口
    open: 'true', // 在服务器启动时自动在浏览器中打开应用程序
    strictPort: false, // 设为 false 时，若端口已被占用则会尝试下一个可用端口,而不是直接退出
    https: false, // 是否开启 https
    cors: true, // 为开发服务器配置 CORS。默认启用并允许任何源
    proxy: { // 为开发服务器配置自定义代理规则
      '/scada': {
        target: 'http://10.16.115.28:8808', //代理接口
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    }
  }
})
